var Mock = require('mockjs')
const Random = Mock.Random
// console.log('走不走这里')
let dataList = [] // 用于接受生成数据的数组
let arr = []  // 用于存储查询的数组
for (let i = 0; i < 178; i++) { // 可自定义生成的个数
  let template = Mock.mock({
    'id': /[a-zA-Z][0-9]{8,19}/, // id
    'addTime': Random.datetime('yyyy-MM-dd HH:mm:ss'),
    'userName': Random.cname(),
    'questionIDs': Random.natural(),
    'progressOfAnswer': Math.ceil(Math.random() * 100) + '%',
    'accuracyRate': Math.ceil(Math.random() * 100) + '%',
    'totalSeconds|100-5000': 5000,
    'questionType|1': [
      '单选',
      '双选',
      '简答'
    ]

  })
  dataList.push(template)
}

// 模拟分页及搜索
Mock.mock('http://localhost:8080/questions/randoms/', 'post', (params) => {
  var listQuery = JSON.parse(params.body)
  var  keyword = listQuery.keyword
  console.log(listQuery)
  if (keyword.length !== 0) { 
    arr= dataList.filter(item => item.id.includes(listQuery.keyword))
    var pageIndex = (listQuery.page - 1) * listQuery.pagesize
    var [index, size, counts] = [pageIndex, listQuery.pagesize,arr.length]
    var items =  arr.slice(index, index + size) 
  } else {
    var pageIndex = (listQuery.page - 1) * listQuery.pagesize
    var [index, size, counts] = [pageIndex, listQuery.pagesize, dataList.length]
    var items = dataList.slice(index, index + size)
    // console.log(index,index*size,items)
  }
  return {
    'code': '200',
    'message': 'success',
    'data': {
      'listQuery': listQuery,
      'tableData': items,
      'counts': counts
    }
  }
})

// 模拟删除数据
Mock.mock('http://localhost:8080/questions/randoms/delete', 'post', (params) => {
  var data = JSON.parse(params.body)
  console.log('删除', data.id)
  arr.forEach((item,index,arr) => { 
    if (item.id === data.id) { 
        arr.splice(index,1)
    }
  })
  dataList.forEach((item,index,arr) => { 
    if (item.id === data.id) { 
        arr.splice(index,1)
    }
   })
  console.log('arr',arr)
  console.log('dataList',dataList)
  return {
    'code': '200',
    'message': 'success'
  }
})


// 模拟修改数据
// Mock.mock('http://localhost:8080/api/update', 'post', (params) => {
//   var data = JSON.parse(params.body)
//   /* dataList.map((item) => {
//     if (item.id === data.id) {
//       return data
//     } else { return item }
//   }) */
//   for (var i in dataList) {
//     if (dataList[i].id === data.id) { // 在数组arr里找到这个id
//       dataList[i] = data
//     }
//   }
//   return {
//     'code': '200',
//     'message': 'success',
//     'data': data
//   }
// })

//模拟新增数据
// Mock.mock('http://localhost:8080/api/add', 'post', (params) => {
//   var data = JSON.parse(params.body)
//   data.id = dataList.length
//   dataList.push(data)
//   return {
//     'code': '200',
//     'message': 'success'
//   }
// })


